package com.hspedu.interface_;

public class ExtendsVsInterface {
    public static void main(String[] args) {
        SmallMonkey wk = new SmallMonkey("悟空");
        wk.climbing();
        wk.swimming();
        wk.flying();
    }
}

//猴子
class Monkey {
    private String name;

    public void climbing() {
        System.out.println( name + "会爬树");
    }

    public Monkey(String name) {
        this.name = name;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }
}

//接口
interface FishAble{
    void swimming();
}

interface BirdAble{
    void flying();
}

//继承,只能单继承
//小结： 当子类继承了父类，就拥有了父类的一些功能
//      如果子类需要扩张功能，就能实现接口的方式来扩展
//      可以理解 实现接口 是Java 单继承机制的一种 补充
class SmallMonkey extends Monkey implements FishAble,BirdAble {
    public SmallMonkey(String name) {
        super(name);
    }

    @Override
    public void swimming() {
        System.out.println( "通过学习"+getName() + "可以像鱼一样游泳..");
    }

    public void flying(){
        System.out.println( "通过学习"+getName() + "可以像鸟一样飞翔..");
    }
}